import { INCREMENT, DECREMENT, MULTIPLY } from './constants'
// 定义返回action对象的函数
// 这些返回action对象的函数,有一个统一的名字,叫做actionCreator
// 同步action
export function incA(num) {
  return { type: INCREMENT, num }
}
export function decA(num) {
  return { type: DECREMENT, num }
}
export function mulA(num) {
  return { type: MULTIPLY, num }
}

// 异步action(和redux配合实现异步操作的函数)
export function asyncMul(num) {
  return (dispatch) => {
    // 这里执行异步操作,异步成功之后,执行dispatch
    setTimeout(() => {
      dispatch(mulA(num))
    }, 2000)
  }
}
